import request from '@/config/axios'

// 单品保存 Request VO
export interface SingleItemSaveReqVO {
  id?: number // id，创建时可能不需要或为 undefined
  title: string // 标题
  stock: number // 库存
  useStock?: number // 单品使用量，创建时可能不需要
}

// 单品信息 Response VO (假设列表和详情返回此结构)
export interface SingleItemRespVO {
  id: number
  title: string
  stock: number
  useStock: number // 注意：接口文档用 useStock，列表图片显示 "单品消耗"，这里统一用 useStock
  // 可能还有其他字段，如创建时间等
  createTime?: Date
}

// 创建单品
export const createSingleItem = (data: SingleItemSaveReqVO) => {
  return request.post<number>({ url: '/trade/single-item/create', data })
}

// 更新单品
export const updateSingleItem = (data: SingleItemSaveReqVO) => {
  // 假设更新接口也使用 /trade/single-item/update，并用 PUT 方法
  return request.put({ url: '/trade/single-item/update', data })
}

// 删除单品
export const deleteSingleItem = (id: number) => {
  // 假设删除接口为 /trade/single-item/delete?id=xxx，并用 DELETE 方法
  return request.delete({ url: '/trade/single-item/delete?id=' + id })
}

// 获取单品详情
export const getSingleItem = (id: number) => {
  // 假设获取详情接口为 /trade/single-item/get?id=xxx
  return request.get<SingleItemRespVO>({ url: '/trade/single-item/get?id=' + id })
}

// 获取单品分页列表
export const getSingleItemPage = (params) => {
  // 假设分页接口为 /trade/single-item/page
  return request.get({url: '/trade/single-item/page', params})
}

// TODO: 添加更新、删除、获取单品列表等 API 函数
